//1.什么是闭包？
//在局部变量中定义的变量，在全局作用域中看不到，有时候需要能够访问局部作用域中定义的变量。
//闭包是一个函数，特殊的函数，
function outer(){
    var a=100;
    function inner(){
        console.log(a);
        return a;
    }
    return inner;
}
var p1=outer();
//inner不能在函数外部执行。
var result=p1();
console.log("result=",result);

//闭包只能用一个私有函数,除非另一个改成全局。在外部无法使用第二个私有函数
function closure(){
    var num=10;
    //nadd是全局变量
    nadd=function(){    //函数表达式（把一个匿名函数赋值给一个变量）
        num++;
    }
    function res(){
        console.log(num);
    }
    return res;
}

var p2=closure();
//nadd();
p2();